mathematical tools for programmers